This invention generally relates to data processing systems and more specifically to secondary storage facilities connected in such systems.
Secondary storage facilities comprise elements which are not an integral part of a central processing unit and its random access memory element, but which are directly connected to and controlled by the central processing unit or other elements in the system. These facilities are also known as "mass storage" elements and include magnetic tape memory units, disk units and drum units, for example.
These facilities are also termed "sequential access storage units" because the information stored in one of these unit becomes available, or is stored, only in a "one-after-the-other" sequence, whether or not all the information or only some of it is desired. For example, it is usual practice to retrieve information from a disk unit on a "sector-by-sector" basis, even though only one of several information records in a sector is needed. Similarly, a physical record on a tape is analagous to a sector on a disk and a complete physical record may be retrieved even though it may contain more than one relevant information record.
These devices also are known as "serial storage devices". In a serial storage device, time and sequential position are factors used to locate any given bit, character, word or groups of words appearing one after the other in time sequence. The individual bits appear or are read serially in time.
In modern data processing systems a secondary storage facility includes a controller and one or more drives connected thereto. The controller operates in response to signals from the data processing system, usually on an input/output bus which connects together other elements in the system including the central processing unit. A drive contains the recording medium (e.g., tape or a rotating disk), the mechanism for moving the medium, and electronic circuitry to read data from or store data on the medium and also to convert the data between serial and parallel formats.
The controller appears to the rest of the system as any other system element on the input/output bus. It receives commands over the bus which include command information about the operation to be performed, the drive to be used, the size of the transfer, the starting address on the drive for the transfer, and the starting address in some other system element, such as a random access memory unit. The controller converts all this command information into the necessary signals to effect the transfer between the appropriate drive and other system element. During the transfer itself, the controller routes the data to or from the appropriate drive and from or to the input/output bus or a memory bus.
Prior controllers usually have only one connection to the input/output, memory or equivalent bus in a data processing system. However, random access memories now have connections or "ports" for two independently operating buses. With these "dual-port" memory units, greater operating efficiency is possible. For example, one "port" might be connected to a first bus to which a central processing unit and one or more input/output units connect. The second port might then connect to a second bus in turn connected to a seconday storage facility and other input/output units. With such a configuration, a transfer could occur between the memory and secondary storage port while another transfer was being made simultaneously between the central processing unit and another unit connected to the first bus.
From another viewpoint, secondary storage facilities can transfer large blocks of data to or from memory units in short periods of time. Normally they transfer data only over an input/output bus which handles all transfers to or from input/output devices including secondary storage facilities. Data transfers to or from secondary storage facilities over such a bus can still require such a large portion of the total time available on the bus that the overall efficiency of the system may be reduced because these transfers may prevent others from being made. Alternatively, the system can be arranged to devote a greater proportion of time to central processing unit transfers, but only by sacrificing the transfer rate to or from the secondary storage facility. Thus, as usage of such a system increases, it can become inefficient even though there is a second bus which might be used to handle transfers between the secondary storage facility and the random access memory unit.
Therefore, it is an object of this invention to provide a secondary storage facility which is capable of increased operating efficiency.
Another object of this invention is to provide an improved facility which can transfer data over each of two independent buses in a data processing system.